public class Liste { // public String hatErschlagen = ""; private int deathToll = 0; public String[] biester = new String[20]; public String hatErschlagen() { String ausgabe = ""; for (int n = 0; n < biester.length; n++) { if (biester[n] != null) { if (!ausgabe.isEmpty()) { ausgabe += ", "; } ausgabe += biester[n]; } } return ausgabe; } public void erschlage(String monster){ biester[ deathToll ] = monster; deathToll++; } public int getDeathToll(){ /* tatsächliche Einträge im Array zählen */ int i; int friederiecke = 0; for (i = 0; i < biester.length; i++) { if(biester[i] != null) { friederiecke ++; } } return friederiecke; // return deathToll; } public void vergesse(String monster){ int i; for (i = 0; i < deathToll; i++) { if ( biester[i].equals(monster) ) { biester[i] = null; // deathToll--; } } } public static boolean test(){ Liste hercules = new Liste(); Liste odysseus = new Liste(); hercules.erschlage("Hydra"); // biester[0] = "Hydra" hercules.erschlage("Löwe"); // biester[1] = "Löwe" hercules.erschlage("Minotaurus"); // biester[2] = "Minotaurus" hercules.erschlage("Nessos"); // biester[3] = "Nessos" odysseus.erschlage("Zyklop"); odysseus.erschlage("Circe"); int n; n = hercules.getDeathToll(); System.out.println("So viele interessante Biester hat Hercules schon kennengelernt (und erschlagen): " + n); // System.out.println("So viele interessante Biester hat Hercules schon kennengelernt (und erschlagen): " + hercules.deathToll()); // ohne Zwischenvariable, Rückgabe von getDeathToll() wird direkt evaluiert System.out.println("So viele interessante Biester hat Odysseus schon kennengelernt (und erschlagen): " + odysseus.getDeathToll() ); // String biester = hercules.hatErschlagen; String biester = hercules.hatErschlagen(); System.out.println("Das sind die Biester, die Hercules erschlagen hat: " + biester); String drittes = hercules.biester[2]; System.out.println("Das dritte Biest, das Hercules erschlagen hat war: " + drittes); /* String zweites = odysseus.biester[1]; */ System.out.println("Das zweite Biest, das Odysseus erschlagen hat war: " + odysseus.biester[1] ); // Aufgabe 06 System.out.println("\nDas gesamte Listenarray von Hercules:"); for ( n = 0; n < hercules.biester.length; n++ ) { System.out.print( hercules.biester[n] + ","); } hercules.vergesse("Hydra"); System.out.println("\nDas gesamte Listenarray von Hercules:"); for ( n = 0; n < hercules.biester.length; n++ ) { System.out.print( hercules.biester[n] + ","); } System.out.println("\n"); System.out.println("So viele interessante Biester hat Hercules schon kennengelernt (und erschlagen): " + hercules.getDeathToll() ); System.out.println("Diese Biester hat Hercules erschlagen: " + hercules.hatErschlagen() ); hercules.erschlage("Hydra"); System.out.println("\nDas gesamte Listenarray von Hercules:"); for ( n = 0; n < hercules.biester.length; n++ ) { System.out.print( hercules.biester[n] + ","); } System.out.println("\n"); System.out.println("Diese Biester hat Hercules erschlagen: " + hercules.hatErschlagen() ); return true; } // Funktionsende kehrt immer zurück zur Stelle des Aufrufs public static void main(String[] args){ test(); } }